package car.aistar.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class CarDetailExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CarDetailExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCAddressIdIsNull() {
            addCriterion("c_address_id is null");
            return (Criteria) this;
        }

        public Criteria andCAddressIdIsNotNull() {
            addCriterion("c_address_id is not null");
            return (Criteria) this;
        }

        public Criteria andCAddressIdEqualTo(Long value) {
            addCriterion("c_address_id =", value, "cAddressId");
            return (Criteria) this;
        }

        public Criteria andCAddressIdNotEqualTo(Long value) {
            addCriterion("c_address_id <>", value, "cAddressId");
            return (Criteria) this;
        }

        public Criteria andCAddressIdGreaterThan(Long value) {
            addCriterion("c_address_id >", value, "cAddressId");
            return (Criteria) this;
        }

        public Criteria andCAddressIdGreaterThanOrEqualTo(Long value) {
            addCriterion("c_address_id >=", value, "cAddressId");
            return (Criteria) this;
        }

        public Criteria andCAddressIdLessThan(Long value) {
            addCriterion("c_address_id <", value, "cAddressId");
            return (Criteria) this;
        }

        public Criteria andCAddressIdLessThanOrEqualTo(Long value) {
            addCriterion("c_address_id <=", value, "cAddressId");
            return (Criteria) this;
        }

        public Criteria andCAddressIdIn(List<Long> values) {
            addCriterion("c_address_id in", values, "cAddressId");
            return (Criteria) this;
        }

        public Criteria andCAddressIdNotIn(List<Long> values) {
            addCriterion("c_address_id not in", values, "cAddressId");
            return (Criteria) this;
        }

        public Criteria andCAddressIdBetween(Long value1, Long value2) {
            addCriterion("c_address_id between", value1, value2, "cAddressId");
            return (Criteria) this;
        }

        public Criteria andCAddressIdNotBetween(Long value1, Long value2) {
            addCriterion("c_address_id not between", value1, value2, "cAddressId");
            return (Criteria) this;
        }

        public Criteria andBrIdIsNull() {
            addCriterion("br_id is null");
            return (Criteria) this;
        }

        public Criteria andBrIdIsNotNull() {
            addCriterion("br_id is not null");
            return (Criteria) this;
        }

        public Criteria andBrIdEqualTo(Long value) {
            addCriterion("br_id =", value, "brId");
            return (Criteria) this;
        }

        public Criteria andBrIdNotEqualTo(Long value) {
            addCriterion("br_id <>", value, "brId");
            return (Criteria) this;
        }

        public Criteria andBrIdGreaterThan(Long value) {
            addCriterion("br_id >", value, "brId");
            return (Criteria) this;
        }

        public Criteria andBrIdGreaterThanOrEqualTo(Long value) {
            addCriterion("br_id >=", value, "brId");
            return (Criteria) this;
        }

        public Criteria andBrIdLessThan(Long value) {
            addCriterion("br_id <", value, "brId");
            return (Criteria) this;
        }

        public Criteria andBrIdLessThanOrEqualTo(Long value) {
            addCriterion("br_id <=", value, "brId");
            return (Criteria) this;
        }

        public Criteria andBrIdIn(List<Long> values) {
            addCriterion("br_id in", values, "brId");
            return (Criteria) this;
        }

        public Criteria andBrIdNotIn(List<Long> values) {
            addCriterion("br_id not in", values, "brId");
            return (Criteria) this;
        }

        public Criteria andBrIdBetween(Long value1, Long value2) {
            addCriterion("br_id between", value1, value2, "brId");
            return (Criteria) this;
        }

        public Criteria andBrIdNotBetween(Long value1, Long value2) {
            addCriterion("br_id not between", value1, value2, "brId");
            return (Criteria) this;
        }

        public Criteria andStIdIsNull() {
            addCriterion("st_id is null");
            return (Criteria) this;
        }

        public Criteria andStIdIsNotNull() {
            addCriterion("st_id is not null");
            return (Criteria) this;
        }

        public Criteria andStIdEqualTo(Long value) {
            addCriterion("st_id =", value, "stId");
            return (Criteria) this;
        }

        public Criteria andStIdNotEqualTo(Long value) {
            addCriterion("st_id <>", value, "stId");
            return (Criteria) this;
        }

        public Criteria andStIdGreaterThan(Long value) {
            addCriterion("st_id >", value, "stId");
            return (Criteria) this;
        }

        public Criteria andStIdGreaterThanOrEqualTo(Long value) {
            addCriterion("st_id >=", value, "stId");
            return (Criteria) this;
        }

        public Criteria andStIdLessThan(Long value) {
            addCriterion("st_id <", value, "stId");
            return (Criteria) this;
        }

        public Criteria andStIdLessThanOrEqualTo(Long value) {
            addCriterion("st_id <=", value, "stId");
            return (Criteria) this;
        }

        public Criteria andStIdIn(List<Long> values) {
            addCriterion("st_id in", values, "stId");
            return (Criteria) this;
        }

        public Criteria andStIdNotIn(List<Long> values) {
            addCriterion("st_id not in", values, "stId");
            return (Criteria) this;
        }

        public Criteria andStIdBetween(Long value1, Long value2) {
            addCriterion("st_id between", value1, value2, "stId");
            return (Criteria) this;
        }

        public Criteria andStIdNotBetween(Long value1, Long value2) {
            addCriterion("st_id not between", value1, value2, "stId");
            return (Criteria) this;
        }

        public Criteria andCPhotoIsNull() {
            addCriterion("c_photo is null");
            return (Criteria) this;
        }

        public Criteria andCPhotoIsNotNull() {
            addCriterion("c_photo is not null");
            return (Criteria) this;
        }

        public Criteria andCPhotoEqualTo(String value) {
            addCriterion("c_photo =", value, "cPhoto");
            return (Criteria) this;
        }

        public Criteria andCPhotoNotEqualTo(String value) {
            addCriterion("c_photo <>", value, "cPhoto");
            return (Criteria) this;
        }

        public Criteria andCPhotoGreaterThan(String value) {
            addCriterion("c_photo >", value, "cPhoto");
            return (Criteria) this;
        }

        public Criteria andCPhotoGreaterThanOrEqualTo(String value) {
            addCriterion("c_photo >=", value, "cPhoto");
            return (Criteria) this;
        }

        public Criteria andCPhotoLessThan(String value) {
            addCriterion("c_photo <", value, "cPhoto");
            return (Criteria) this;
        }

        public Criteria andCPhotoLessThanOrEqualTo(String value) {
            addCriterion("c_photo <=", value, "cPhoto");
            return (Criteria) this;
        }

        public Criteria andCPhotoLike(String value) {
            addCriterion("c_photo like", value, "cPhoto");
            return (Criteria) this;
        }

        public Criteria andCPhotoNotLike(String value) {
            addCriterion("c_photo not like", value, "cPhoto");
            return (Criteria) this;
        }

        public Criteria andCPhotoIn(List<String> values) {
            addCriterion("c_photo in", values, "cPhoto");
            return (Criteria) this;
        }

        public Criteria andCPhotoNotIn(List<String> values) {
            addCriterion("c_photo not in", values, "cPhoto");
            return (Criteria) this;
        }

        public Criteria andCPhotoBetween(String value1, String value2) {
            addCriterion("c_photo between", value1, value2, "cPhoto");
            return (Criteria) this;
        }

        public Criteria andCPhotoNotBetween(String value1, String value2) {
            addCriterion("c_photo not between", value1, value2, "cPhoto");
            return (Criteria) this;
        }

        public Criteria andCAgeIsNull() {
            addCriterion("c_age is null");
            return (Criteria) this;
        }

        public Criteria andCAgeIsNotNull() {
            addCriterion("c_age is not null");
            return (Criteria) this;
        }

        public Criteria andCAgeEqualTo(Integer value) {
            addCriterion("c_age =", value, "cAge");
            return (Criteria) this;
        }

        public Criteria andCAgeNotEqualTo(Integer value) {
            addCriterion("c_age <>", value, "cAge");
            return (Criteria) this;
        }

        public Criteria andCAgeGreaterThan(Integer value) {
            addCriterion("c_age >", value, "cAge");
            return (Criteria) this;
        }

        public Criteria andCAgeGreaterThanOrEqualTo(Integer value) {
            addCriterion("c_age >=", value, "cAge");
            return (Criteria) this;
        }

        public Criteria andCAgeLessThan(Integer value) {
            addCriterion("c_age <", value, "cAge");
            return (Criteria) this;
        }

        public Criteria andCAgeLessThanOrEqualTo(Integer value) {
            addCriterion("c_age <=", value, "cAge");
            return (Criteria) this;
        }

        public Criteria andCAgeIn(List<Integer> values) {
            addCriterion("c_age in", values, "cAge");
            return (Criteria) this;
        }

        public Criteria andCAgeNotIn(List<Integer> values) {
            addCriterion("c_age not in", values, "cAge");
            return (Criteria) this;
        }

        public Criteria andCAgeBetween(Integer value1, Integer value2) {
            addCriterion("c_age between", value1, value2, "cAge");
            return (Criteria) this;
        }

        public Criteria andCAgeNotBetween(Integer value1, Integer value2) {
            addCriterion("c_age not between", value1, value2, "cAge");
            return (Criteria) this;
        }

        public Criteria andCPriceIsNull() {
            addCriterion("c_price is null");
            return (Criteria) this;
        }

        public Criteria andCPriceIsNotNull() {
            addCriterion("c_price is not null");
            return (Criteria) this;
        }

        public Criteria andCPriceEqualTo(Double value) {
            addCriterion("c_price =", value, "cPrice");
            return (Criteria) this;
        }

        public Criteria andCPriceNotEqualTo(Double value) {
            addCriterion("c_price <>", value, "cPrice");
            return (Criteria) this;
        }

        public Criteria andCPriceGreaterThan(Double value) {
            addCriterion("c_price >", value, "cPrice");
            return (Criteria) this;
        }

        public Criteria andCPriceGreaterThanOrEqualTo(Double value) {
            addCriterion("c_price >=", value, "cPrice");
            return (Criteria) this;
        }

        public Criteria andCPriceLessThan(Double value) {
            addCriterion("c_price <", value, "cPrice");
            return (Criteria) this;
        }

        public Criteria andCPriceLessThanOrEqualTo(Double value) {
            addCriterion("c_price <=", value, "cPrice");
            return (Criteria) this;
        }

        public Criteria andCPriceIn(List<Double> values) {
            addCriterion("c_price in", values, "cPrice");
            return (Criteria) this;
        }

        public Criteria andCPriceNotIn(List<Double> values) {
            addCriterion("c_price not in", values, "cPrice");
            return (Criteria) this;
        }

        public Criteria andCPriceBetween(Double value1, Double value2) {
            addCriterion("c_price between", value1, value2, "cPrice");
            return (Criteria) this;
        }

        public Criteria andCPriceNotBetween(Double value1, Double value2) {
            addCriterion("c_price not between", value1, value2, "cPrice");
            return (Criteria) this;
        }

        public Criteria andCOpriceIsNull() {
            addCriterion("c_oprice is null");
            return (Criteria) this;
        }

        public Criteria andCOpriceIsNotNull() {
            addCriterion("c_oprice is not null");
            return (Criteria) this;
        }

        public Criteria andCOpriceEqualTo(Double value) {
            addCriterion("c_oprice =", value, "cOprice");
            return (Criteria) this;
        }

        public Criteria andCOpriceNotEqualTo(Double value) {
            addCriterion("c_oprice <>", value, "cOprice");
            return (Criteria) this;
        }

        public Criteria andCOpriceGreaterThan(Double value) {
            addCriterion("c_oprice >", value, "cOprice");
            return (Criteria) this;
        }

        public Criteria andCOpriceGreaterThanOrEqualTo(Double value) {
            addCriterion("c_oprice >=", value, "cOprice");
            return (Criteria) this;
        }

        public Criteria andCOpriceLessThan(Double value) {
            addCriterion("c_oprice <", value, "cOprice");
            return (Criteria) this;
        }

        public Criteria andCOpriceLessThanOrEqualTo(Double value) {
            addCriterion("c_oprice <=", value, "cOprice");
            return (Criteria) this;
        }

        public Criteria andCOpriceIn(List<Double> values) {
            addCriterion("c_oprice in", values, "cOprice");
            return (Criteria) this;
        }

        public Criteria andCOpriceNotIn(List<Double> values) {
            addCriterion("c_oprice not in", values, "cOprice");
            return (Criteria) this;
        }

        public Criteria andCOpriceBetween(Double value1, Double value2) {
            addCriterion("c_oprice between", value1, value2, "cOprice");
            return (Criteria) this;
        }

        public Criteria andCOpriceNotBetween(Double value1, Double value2) {
            addCriterion("c_oprice not between", value1, value2, "cOprice");
            return (Criteria) this;
        }

        public Criteria andCDescIsNull() {
            addCriterion("c_desc is null");
            return (Criteria) this;
        }

        public Criteria andCDescIsNotNull() {
            addCriterion("c_desc is not null");
            return (Criteria) this;
        }

        public Criteria andCDescEqualTo(String value) {
            addCriterion("c_desc =", value, "cDesc");
            return (Criteria) this;
        }

        public Criteria andCDescNotEqualTo(String value) {
            addCriterion("c_desc <>", value, "cDesc");
            return (Criteria) this;
        }

        public Criteria andCDescGreaterThan(String value) {
            addCriterion("c_desc >", value, "cDesc");
            return (Criteria) this;
        }

        public Criteria andCDescGreaterThanOrEqualTo(String value) {
            addCriterion("c_desc >=", value, "cDesc");
            return (Criteria) this;
        }

        public Criteria andCDescLessThan(String value) {
            addCriterion("c_desc <", value, "cDesc");
            return (Criteria) this;
        }

        public Criteria andCDescLessThanOrEqualTo(String value) {
            addCriterion("c_desc <=", value, "cDesc");
            return (Criteria) this;
        }

        public Criteria andCDescLike(String value) {
            addCriterion("c_desc like", value, "cDesc");
            return (Criteria) this;
        }

        public Criteria andCDescNotLike(String value) {
            addCriterion("c_desc not like", value, "cDesc");
            return (Criteria) this;
        }

        public Criteria andCDescIn(List<String> values) {
            addCriterion("c_desc in", values, "cDesc");
            return (Criteria) this;
        }

        public Criteria andCDescNotIn(List<String> values) {
            addCriterion("c_desc not in", values, "cDesc");
            return (Criteria) this;
        }

        public Criteria andCDescBetween(String value1, String value2) {
            addCriterion("c_desc between", value1, value2, "cDesc");
            return (Criteria) this;
        }

        public Criteria andCDescNotBetween(String value1, String value2) {
            addCriterion("c_desc not between", value1, value2, "cDesc");
            return (Criteria) this;
        }

        public Criteria andCStatusIsNull() {
            addCriterion("c_status is null");
            return (Criteria) this;
        }

        public Criteria andCStatusIsNotNull() {
            addCriterion("c_status is not null");
            return (Criteria) this;
        }

        public Criteria andCStatusEqualTo(Integer value) {
            addCriterion("c_status =", value, "cStatus");
            return (Criteria) this;
        }

        public Criteria andCStatusNotEqualTo(Integer value) {
            addCriterion("c_status <>", value, "cStatus");
            return (Criteria) this;
        }

        public Criteria andCStatusGreaterThan(Integer value) {
            addCriterion("c_status >", value, "cStatus");
            return (Criteria) this;
        }

        public Criteria andCStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("c_status >=", value, "cStatus");
            return (Criteria) this;
        }

        public Criteria andCStatusLessThan(Integer value) {
            addCriterion("c_status <", value, "cStatus");
            return (Criteria) this;
        }

        public Criteria andCStatusLessThanOrEqualTo(Integer value) {
            addCriterion("c_status <=", value, "cStatus");
            return (Criteria) this;
        }

        public Criteria andCStatusIn(List<Integer> values) {
            addCriterion("c_status in", values, "cStatus");
            return (Criteria) this;
        }

        public Criteria andCStatusNotIn(List<Integer> values) {
            addCriterion("c_status not in", values, "cStatus");
            return (Criteria) this;
        }

        public Criteria andCStatusBetween(Integer value1, Integer value2) {
            addCriterion("c_status between", value1, value2, "cStatus");
            return (Criteria) this;
        }

        public Criteria andCStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("c_status not between", value1, value2, "cStatus");
            return (Criteria) this;
        }

        public Criteria andCCreatedateIsNull() {
            addCriterion("c_createDate is null");
            return (Criteria) this;
        }

        public Criteria andCCreatedateIsNotNull() {
            addCriterion("c_createDate is not null");
            return (Criteria) this;
        }

        public Criteria andCCreatedateEqualTo(Date value) {
            addCriterionForJDBCDate("c_createDate =", value, "cCreatedate");
            return (Criteria) this;
        }

        public Criteria andCCreatedateNotEqualTo(Date value) {
            addCriterionForJDBCDate("c_createDate <>", value, "cCreatedate");
            return (Criteria) this;
        }

        public Criteria andCCreatedateGreaterThan(Date value) {
            addCriterionForJDBCDate("c_createDate >", value, "cCreatedate");
            return (Criteria) this;
        }

        public Criteria andCCreatedateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("c_createDate >=", value, "cCreatedate");
            return (Criteria) this;
        }

        public Criteria andCCreatedateLessThan(Date value) {
            addCriterionForJDBCDate("c_createDate <", value, "cCreatedate");
            return (Criteria) this;
        }

        public Criteria andCCreatedateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("c_createDate <=", value, "cCreatedate");
            return (Criteria) this;
        }

        public Criteria andCCreatedateIn(List<Date> values) {
            addCriterionForJDBCDate("c_createDate in", values, "cCreatedate");
            return (Criteria) this;
        }

        public Criteria andCCreatedateNotIn(List<Date> values) {
            addCriterionForJDBCDate("c_createDate not in", values, "cCreatedate");
            return (Criteria) this;
        }

        public Criteria andCCreatedateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("c_createDate between", value1, value2, "cCreatedate");
            return (Criteria) this;
        }

        public Criteria andCCreatedateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("c_createDate not between", value1, value2, "cCreatedate");
            return (Criteria) this;
        }

        public Criteria andCMileageIsNull() {
            addCriterion("c_mileage is null");
            return (Criteria) this;
        }

        public Criteria andCMileageIsNotNull() {
            addCriterion("c_mileage is not null");
            return (Criteria) this;
        }

        public Criteria andCMileageEqualTo(Integer value) {
            addCriterion("c_mileage =", value, "cMileage");
            return (Criteria) this;
        }

        public Criteria andCMileageNotEqualTo(Integer value) {
            addCriterion("c_mileage <>", value, "cMileage");
            return (Criteria) this;
        }

        public Criteria andCMileageGreaterThan(Integer value) {
            addCriterion("c_mileage >", value, "cMileage");
            return (Criteria) this;
        }

        public Criteria andCMileageGreaterThanOrEqualTo(Integer value) {
            addCriterion("c_mileage >=", value, "cMileage");
            return (Criteria) this;
        }

        public Criteria andCMileageLessThan(Integer value) {
            addCriterion("c_mileage <", value, "cMileage");
            return (Criteria) this;
        }

        public Criteria andCMileageLessThanOrEqualTo(Integer value) {
            addCriterion("c_mileage <=", value, "cMileage");
            return (Criteria) this;
        }

        public Criteria andCMileageIn(List<Integer> values) {
            addCriterion("c_mileage in", values, "cMileage");
            return (Criteria) this;
        }

        public Criteria andCMileageNotIn(List<Integer> values) {
            addCriterion("c_mileage not in", values, "cMileage");
            return (Criteria) this;
        }

        public Criteria andCMileageBetween(Integer value1, Integer value2) {
            addCriterion("c_mileage between", value1, value2, "cMileage");
            return (Criteria) this;
        }

        public Criteria andCMileageNotBetween(Integer value1, Integer value2) {
            addCriterion("c_mileage not between", value1, value2, "cMileage");
            return (Criteria) this;
        }

        public Criteria andCSeatIsNull() {
            addCriterion("c_seat is null");
            return (Criteria) this;
        }

        public Criteria andCSeatIsNotNull() {
            addCriterion("c_seat is not null");
            return (Criteria) this;
        }

        public Criteria andCSeatEqualTo(Integer value) {
            addCriterion("c_seat =", value, "cSeat");
            return (Criteria) this;
        }

        public Criteria andCSeatNotEqualTo(Integer value) {
            addCriterion("c_seat <>", value, "cSeat");
            return (Criteria) this;
        }

        public Criteria andCSeatGreaterThan(Integer value) {
            addCriterion("c_seat >", value, "cSeat");
            return (Criteria) this;
        }

        public Criteria andCSeatGreaterThanOrEqualTo(Integer value) {
            addCriterion("c_seat >=", value, "cSeat");
            return (Criteria) this;
        }

        public Criteria andCSeatLessThan(Integer value) {
            addCriterion("c_seat <", value, "cSeat");
            return (Criteria) this;
        }

        public Criteria andCSeatLessThanOrEqualTo(Integer value) {
            addCriterion("c_seat <=", value, "cSeat");
            return (Criteria) this;
        }

        public Criteria andCSeatIn(List<Integer> values) {
            addCriterion("c_seat in", values, "cSeat");
            return (Criteria) this;
        }

        public Criteria andCSeatNotIn(List<Integer> values) {
            addCriterion("c_seat not in", values, "cSeat");
            return (Criteria) this;
        }

        public Criteria andCSeatBetween(Integer value1, Integer value2) {
            addCriterion("c_seat between", value1, value2, "cSeat");
            return (Criteria) this;
        }

        public Criteria andCSeatNotBetween(Integer value1, Integer value2) {
            addCriterion("c_seat not between", value1, value2, "cSeat");
            return (Criteria) this;
        }

        public Criteria andCCusIsNull() {
            addCriterion("c_cus is null");
            return (Criteria) this;
        }

        public Criteria andCCusIsNotNull() {
            addCriterion("c_cus is not null");
            return (Criteria) this;
        }

        public Criteria andCCusEqualTo(Double value) {
            addCriterion("c_cus =", value, "cCus");
            return (Criteria) this;
        }

        public Criteria andCCusNotEqualTo(Double value) {
            addCriterion("c_cus <>", value, "cCus");
            return (Criteria) this;
        }

        public Criteria andCCusGreaterThan(Double value) {
            addCriterion("c_cus >", value, "cCus");
            return (Criteria) this;
        }

        public Criteria andCCusGreaterThanOrEqualTo(Double value) {
            addCriterion("c_cus >=", value, "cCus");
            return (Criteria) this;
        }

        public Criteria andCCusLessThan(Double value) {
            addCriterion("c_cus <", value, "cCus");
            return (Criteria) this;
        }

        public Criteria andCCusLessThanOrEqualTo(Double value) {
            addCriterion("c_cus <=", value, "cCus");
            return (Criteria) this;
        }

        public Criteria andCCusIn(List<Double> values) {
            addCriterion("c_cus in", values, "cCus");
            return (Criteria) this;
        }

        public Criteria andCCusNotIn(List<Double> values) {
            addCriterion("c_cus not in", values, "cCus");
            return (Criteria) this;
        }

        public Criteria andCCusBetween(Double value1, Double value2) {
            addCriterion("c_cus between", value1, value2, "cCus");
            return (Criteria) this;
        }

        public Criteria andCCusNotBetween(Double value1, Double value2) {
            addCriterion("c_cus not between", value1, value2, "cCus");
            return (Criteria) this;
        }

        public Criteria andCUseIsNull() {
            addCriterion("c_use is null");
            return (Criteria) this;
        }

        public Criteria andCUseIsNotNull() {
            addCriterion("c_use is not null");
            return (Criteria) this;
        }

        public Criteria andCUseEqualTo(String value) {
            addCriterion("c_use =", value, "cUse");
            return (Criteria) this;
        }

        public Criteria andCUseNotEqualTo(String value) {
            addCriterion("c_use <>", value, "cUse");
            return (Criteria) this;
        }

        public Criteria andCUseGreaterThan(String value) {
            addCriterion("c_use >", value, "cUse");
            return (Criteria) this;
        }

        public Criteria andCUseGreaterThanOrEqualTo(String value) {
            addCriterion("c_use >=", value, "cUse");
            return (Criteria) this;
        }

        public Criteria andCUseLessThan(String value) {
            addCriterion("c_use <", value, "cUse");
            return (Criteria) this;
        }

        public Criteria andCUseLessThanOrEqualTo(String value) {
            addCriterion("c_use <=", value, "cUse");
            return (Criteria) this;
        }

        public Criteria andCUseLike(String value) {
            addCriterion("c_use like", value, "cUse");
            return (Criteria) this;
        }

        public Criteria andCUseNotLike(String value) {
            addCriterion("c_use not like", value, "cUse");
            return (Criteria) this;
        }

        public Criteria andCUseIn(List<String> values) {
            addCriterion("c_use in", values, "cUse");
            return (Criteria) this;
        }

        public Criteria andCUseNotIn(List<String> values) {
            addCriterion("c_use not in", values, "cUse");
            return (Criteria) this;
        }

        public Criteria andCUseBetween(String value1, String value2) {
            addCriterion("c_use between", value1, value2, "cUse");
            return (Criteria) this;
        }

        public Criteria andCUseNotBetween(String value1, String value2) {
            addCriterion("c_use not between", value1, value2, "cUse");
            return (Criteria) this;
        }

        public Criteria andCGearIsNull() {
            addCriterion("c_gear is null");
            return (Criteria) this;
        }

        public Criteria andCGearIsNotNull() {
            addCriterion("c_gear is not null");
            return (Criteria) this;
        }

        public Criteria andCGearEqualTo(String value) {
            addCriterion("c_gear =", value, "cGear");
            return (Criteria) this;
        }

        public Criteria andCGearNotEqualTo(String value) {
            addCriterion("c_gear <>", value, "cGear");
            return (Criteria) this;
        }

        public Criteria andCGearGreaterThan(String value) {
            addCriterion("c_gear >", value, "cGear");
            return (Criteria) this;
        }

        public Criteria andCGearGreaterThanOrEqualTo(String value) {
            addCriterion("c_gear >=", value, "cGear");
            return (Criteria) this;
        }

        public Criteria andCGearLessThan(String value) {
            addCriterion("c_gear <", value, "cGear");
            return (Criteria) this;
        }

        public Criteria andCGearLessThanOrEqualTo(String value) {
            addCriterion("c_gear <=", value, "cGear");
            return (Criteria) this;
        }

        public Criteria andCGearLike(String value) {
            addCriterion("c_gear like", value, "cGear");
            return (Criteria) this;
        }

        public Criteria andCGearNotLike(String value) {
            addCriterion("c_gear not like", value, "cGear");
            return (Criteria) this;
        }

        public Criteria andCGearIn(List<String> values) {
            addCriterion("c_gear in", values, "cGear");
            return (Criteria) this;
        }

        public Criteria andCGearNotIn(List<String> values) {
            addCriterion("c_gear not in", values, "cGear");
            return (Criteria) this;
        }

        public Criteria andCGearBetween(String value1, String value2) {
            addCriterion("c_gear between", value1, value2, "cGear");
            return (Criteria) this;
        }

        public Criteria andCGearNotBetween(String value1, String value2) {
            addCriterion("c_gear not between", value1, value2, "cGear");
            return (Criteria) this;
        }

        public Criteria andCDriveIsNull() {
            addCriterion("c_drive is null");
            return (Criteria) this;
        }

        public Criteria andCDriveIsNotNull() {
            addCriterion("c_drive is not null");
            return (Criteria) this;
        }

        public Criteria andCDriveEqualTo(String value) {
            addCriterion("c_drive =", value, "cDrive");
            return (Criteria) this;
        }

        public Criteria andCDriveNotEqualTo(String value) {
            addCriterion("c_drive <>", value, "cDrive");
            return (Criteria) this;
        }

        public Criteria andCDriveGreaterThan(String value) {
            addCriterion("c_drive >", value, "cDrive");
            return (Criteria) this;
        }

        public Criteria andCDriveGreaterThanOrEqualTo(String value) {
            addCriterion("c_drive >=", value, "cDrive");
            return (Criteria) this;
        }

        public Criteria andCDriveLessThan(String value) {
            addCriterion("c_drive <", value, "cDrive");
            return (Criteria) this;
        }

        public Criteria andCDriveLessThanOrEqualTo(String value) {
            addCriterion("c_drive <=", value, "cDrive");
            return (Criteria) this;
        }

        public Criteria andCDriveLike(String value) {
            addCriterion("c_drive like", value, "cDrive");
            return (Criteria) this;
        }

        public Criteria andCDriveNotLike(String value) {
            addCriterion("c_drive not like", value, "cDrive");
            return (Criteria) this;
        }

        public Criteria andCDriveIn(List<String> values) {
            addCriterion("c_drive in", values, "cDrive");
            return (Criteria) this;
        }

        public Criteria andCDriveNotIn(List<String> values) {
            addCriterion("c_drive not in", values, "cDrive");
            return (Criteria) this;
        }

        public Criteria andCDriveBetween(String value1, String value2) {
            addCriterion("c_drive between", value1, value2, "cDrive");
            return (Criteria) this;
        }

        public Criteria andCDriveNotBetween(String value1, String value2) {
            addCriterion("c_drive not between", value1, value2, "cDrive");
            return (Criteria) this;
        }

        public Criteria andCInsureIsNull() {
            addCriterion("c_insure is null");
            return (Criteria) this;
        }

        public Criteria andCInsureIsNotNull() {
            addCriterion("c_insure is not null");
            return (Criteria) this;
        }

        public Criteria andCInsureEqualTo(Date value) {
            addCriterionForJDBCDate("c_insure =", value, "cInsure");
            return (Criteria) this;
        }

        public Criteria andCInsureNotEqualTo(Date value) {
            addCriterionForJDBCDate("c_insure <>", value, "cInsure");
            return (Criteria) this;
        }

        public Criteria andCInsureGreaterThan(Date value) {
            addCriterionForJDBCDate("c_insure >", value, "cInsure");
            return (Criteria) this;
        }

        public Criteria andCInsureGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("c_insure >=", value, "cInsure");
            return (Criteria) this;
        }

        public Criteria andCInsureLessThan(Date value) {
            addCriterionForJDBCDate("c_insure <", value, "cInsure");
            return (Criteria) this;
        }

        public Criteria andCInsureLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("c_insure <=", value, "cInsure");
            return (Criteria) this;
        }

        public Criteria andCInsureIn(List<Date> values) {
            addCriterionForJDBCDate("c_insure in", values, "cInsure");
            return (Criteria) this;
        }

        public Criteria andCInsureNotIn(List<Date> values) {
            addCriterionForJDBCDate("c_insure not in", values, "cInsure");
            return (Criteria) this;
        }

        public Criteria andCInsureBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("c_insure between", value1, value2, "cInsure");
            return (Criteria) this;
        }

        public Criteria andCInsureNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("c_insure not between", value1, value2, "cInsure");
            return (Criteria) this;
        }

        public Criteria andCRegistrationIsNull() {
            addCriterion("c_Registration is null");
            return (Criteria) this;
        }

        public Criteria andCRegistrationIsNotNull() {
            addCriterion("c_Registration is not null");
            return (Criteria) this;
        }

        public Criteria andCRegistrationEqualTo(Date value) {
            addCriterionForJDBCDate("c_Registration =", value, "cRegistration");
            return (Criteria) this;
        }

        public Criteria andCRegistrationNotEqualTo(Date value) {
            addCriterionForJDBCDate("c_Registration <>", value, "cRegistration");
            return (Criteria) this;
        }

        public Criteria andCRegistrationGreaterThan(Date value) {
            addCriterionForJDBCDate("c_Registration >", value, "cRegistration");
            return (Criteria) this;
        }

        public Criteria andCRegistrationGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("c_Registration >=", value, "cRegistration");
            return (Criteria) this;
        }

        public Criteria andCRegistrationLessThan(Date value) {
            addCriterionForJDBCDate("c_Registration <", value, "cRegistration");
            return (Criteria) this;
        }

        public Criteria andCRegistrationLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("c_Registration <=", value, "cRegistration");
            return (Criteria) this;
        }

        public Criteria andCRegistrationIn(List<Date> values) {
            addCriterionForJDBCDate("c_Registration in", values, "cRegistration");
            return (Criteria) this;
        }

        public Criteria andCRegistrationNotIn(List<Date> values) {
            addCriterionForJDBCDate("c_Registration not in", values, "cRegistration");
            return (Criteria) this;
        }

        public Criteria andCRegistrationBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("c_Registration between", value1, value2, "cRegistration");
            return (Criteria) this;
        }

        public Criteria andCRegistrationNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("c_Registration not between", value1, value2, "cRegistration");
            return (Criteria) this;
        }

        public Criteria andCCheakIsNull() {
            addCriterion("c_cheak is null");
            return (Criteria) this;
        }

        public Criteria andCCheakIsNotNull() {
            addCriterion("c_cheak is not null");
            return (Criteria) this;
        }

        public Criteria andCCheakEqualTo(String value) {
            addCriterion("c_cheak =", value, "cCheak");
            return (Criteria) this;
        }

        public Criteria andCCheakNotEqualTo(String value) {
            addCriterion("c_cheak <>", value, "cCheak");
            return (Criteria) this;
        }

        public Criteria andCCheakGreaterThan(String value) {
            addCriterion("c_cheak >", value, "cCheak");
            return (Criteria) this;
        }

        public Criteria andCCheakGreaterThanOrEqualTo(String value) {
            addCriterion("c_cheak >=", value, "cCheak");
            return (Criteria) this;
        }

        public Criteria andCCheakLessThan(String value) {
            addCriterion("c_cheak <", value, "cCheak");
            return (Criteria) this;
        }

        public Criteria andCCheakLessThanOrEqualTo(String value) {
            addCriterion("c_cheak <=", value, "cCheak");
            return (Criteria) this;
        }

        public Criteria andCCheakLike(String value) {
            addCriterion("c_cheak like", value, "cCheak");
            return (Criteria) this;
        }

        public Criteria andCCheakNotLike(String value) {
            addCriterion("c_cheak not like", value, "cCheak");
            return (Criteria) this;
        }

        public Criteria andCCheakIn(List<String> values) {
            addCriterion("c_cheak in", values, "cCheak");
            return (Criteria) this;
        }

        public Criteria andCCheakNotIn(List<String> values) {
            addCriterion("c_cheak not in", values, "cCheak");
            return (Criteria) this;
        }

        public Criteria andCCheakBetween(String value1, String value2) {
            addCriterion("c_cheak between", value1, value2, "cCheak");
            return (Criteria) this;
        }

        public Criteria andCCheakNotBetween(String value1, String value2) {
            addCriterion("c_cheak not between", value1, value2, "cCheak");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}